package edu.scau.misp.backend_module.domain;

import java.io.Serializable;
import java.util.Date;

public class Payment implements Serializable {
    private Long paymentId;

    private Long orderId;
    private Order order;
    private String paymentStatus;
    private Long paymentTotalPrice;

    private String paymentMethod;
    private Date paymentTime;
    private Long paymentSn;
    private String paymentAdditionalInfo;

    @Override
    public String toString() {
        return "Payment{" +
                "paymentId=" + paymentId +
                ", orderId=" + orderId +
                ", order=" + order +
                ", paymentStatus='" + paymentStatus + '\'' +
                ", paymentTotalPrice=" + paymentTotalPrice +
                ", paymentMethod='" + paymentMethod + '\'' +
                ", paymentTime=" + paymentTime +
                ", paymentSn=" + paymentSn +
                ", paymentAdditionalInfo='" + paymentAdditionalInfo + '\'' +
                '}';
    }

    public Payment() {
    }

    public Payment(Long paymentId, Long orderId, Order order, String paymentStatus, Long paymentTotalPrice, String paymentMethod, Date paymentTime, Long paymentSn, String paymentAdditionalInfo) {
        this.paymentId = paymentId;
        this.orderId = orderId;
        this.order = order;
        this.paymentStatus = paymentStatus;
        this.paymentTotalPrice = paymentTotalPrice;
        this.paymentMethod = paymentMethod;
        this.paymentTime = paymentTime;
        this.paymentSn = paymentSn;
        this.paymentAdditionalInfo = paymentAdditionalInfo;
    }

    public Long getPaymentId() {
        return paymentId;
    }

    public void setPaymentId(Long paymentId) {
        this.paymentId = paymentId;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Order getOrder() {
        return order;
    }

    public void setOrder(Order order) {
        this.order = order;
    }

    public String getPaymentStatus() {
        return paymentStatus;
    }

    public void setPaymentStatus(String paymentStatus) {
        this.paymentStatus = paymentStatus;
    }

    public Long getPaymentTotalPrice() {
        return paymentTotalPrice;
    }

    public void setPaymentTotalPrice(Long paymentTotalPrice) {
        this.paymentTotalPrice = paymentTotalPrice;
    }

    public String getPaymentMethod() {
        return paymentMethod;
    }

    public void setPaymentMethod(String paymentMethod) {
        this.paymentMethod = paymentMethod;
    }

    public Date getPaymentTime() {
        return paymentTime;
    }

    public void setPaymentTime(Date paymentTime) {
        this.paymentTime = paymentTime;
    }

    public Long getPaymentSn() {
        return paymentSn;
    }

    public void setPaymentSn(Long paymentSn) {
        this.paymentSn = paymentSn;
    }

    public String getPaymentAdditionalInfo() {
        return paymentAdditionalInfo;
    }

    public void setPaymentAdditionalInfo(String paymentAdditionalInfo) {
        this.paymentAdditionalInfo = paymentAdditionalInfo;
    }
}
